package vip.xiaonuo.supplier.modular.setting.reporttype.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.supplier.modular.setting.reporttype.entity.PublicReportType;
import vip.xiaonuo.supplier.modular.setting.reporttype.param.PublicReportTypeAddParam;
import vip.xiaonuo.supplier.modular.setting.reporttype.param.PublicReportTypeEditParam;
import vip.xiaonuo.supplier.modular.setting.reporttype.param.PublicReportTypeIdParam;
import vip.xiaonuo.supplier.modular.setting.reporttype.param.PublicReportTypePageParam;

import java.util.List;

/**
 * 报表类型Service接口
 *
 * @author Mr.wu
 * @date  2025/04/03 09:31
 **/
public interface PublicReportTypeService extends IService<PublicReportType> {

    /**
     * 获取报表类型分页
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     */
    Page<PublicReportType> page(PublicReportTypePageParam publicReportTypePageParam);

    /**
     * 添加报表类型
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     */
    void add(PublicReportTypeAddParam publicReportTypeAddParam);

    /**
     * 编辑报表类型
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     */
    void edit(PublicReportTypeEditParam publicReportTypeEditParam);

    /**
     * 删除报表类型
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     */
    void delete(List<PublicReportTypeIdParam> publicReportTypeIdParamList);

    /**
     * 获取报表类型详情
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     */
    PublicReportType detail(PublicReportTypeIdParam publicReportTypeIdParam);

    /**
     * 获取报表类型详情
     *
     * @author Mr.wu
     * @date  2025/04/03 09:31
     **/
    PublicReportType queryEntity(String id);
}
